Lock scrollback to just coder in Full UI and make sure diffs continue to update the console#529
Lock scrollback to just coder in Full UI and make sure diffs continue to update the console#529xboxfanj wants to merge 2 commits intojust-every:mainfrom
Conversation
Keep commit ticks running when timeout-based soft commits are enabled and the model has buffered content but hasn't emitted a newline yet. Add unit tests that cover the initial-delta timeout path and ensure the commit animation isn't stopped prematurely.
Enable mouse capture in the alternate-screen UI so wheel/trackpad scrolling scrolls the chat/history instead of the terminal scrollback. Track capture state on the App (no static mut) and keep image paste behavior unchanged.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b81515e6c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| enable_raw_mode()?; | ||
| // Capture mouse wheel scrolls so the full UI can scroll the chat/history | ||
| // instead of letting the terminal emulator scrollback take over. | ||
| // Users can toggle this off (Ctrl+M) for text selection. | ||
| let _ = execute!(stdout(), EnableMouseCapture); |
There was a problem hiding this comment.
Disable mouse capture in standard-terminal mode
This unconditionally enables mouse capture in tui::init, but when config.tui.alternate_screen is false the app immediately leaves the alt screen in run_ratatui_app (lib.rs) to run in standard terminal mode. There is no corresponding DisableMouseCapture, and Ctrl+M toggling is now gated on alt_screen_active, so users who start or switch into standard mode cannot turn capture off. That traps scroll-wheel events in the app and breaks normal terminal scrollback/text selection in standard mode, which is the opposite of the intended behavior.
Useful? React with 👍 / 👎.
In terminal on macOS, scrollback in Full UI beyond the window shows output before opening coder and not the output of coder itself. For that reason, if I want to look at responses from ChatGPT, I have to switch to standard terminal view. This change implements scrolling in coder so I can scroll through the output of my session rather than whatever else I did in terminal before.
Also, this should fix some bugs where the output code stops showing and I have to switch between standard terminal and Full UI to see it.